1. Field of the Invention
The present invention relates to an image forming apparatus to which functions can be added and from which functions can be removed and, in particular, to a program management apparatus and method that manage applications for implementing additive functions and their licenses.
2. Description of the Related Art
Some sophisticated image forming apparatuses provide a platform for adding functions and allowing a new function to be added by installing an application program (hereinafter simply referred to as an application) running on the platform. The application is installed or executed after being licensed in order to prevent unauthorized use and illegal copying. Installation of an application on an image forming apparatus may be performed by a device management apparatus that is connected to a network and manages the image forming apparatus. In that case, an administrator installs the application on the image forming apparatus of interest through the device management apparatus, rather than installing the application in each image forming apparatus. Uninstallation of an application is performed in a similar manner. Management of licenses can be performed through the device management apparatus.
In either way, it is desirable that an unused application be uninstalled because resources available to an application on the image forming apparatus are typically limited. Therefore, methods have been proposed in which installation, use, and uninstallation of an application are performed as a process sequence in order to ensure resource management (see for example Japanese Patent Laid-Open No. 2005-208935).
On the other hand, there is a license management method called floating license management for applications for personal computers. In floating license management, a license server is provided and a client computer that uses an application is granted a license from the license server. The client communicates with the license server at all times while using the application. Once the communication is discontinued, the license is canceled and the client is prevented from using the application. The license server is able to put restrictions on the number of licenses that can be granted at a time and grant licenses to limited clients.
For floating license management, a license management system has been proposed in which a license for an application can be granted for each function of an operation function executing unit and a licensing agreement can be entered into according to the frequency of uses of the application (see for example Japanese Patent Laid-Open No. 2003-122537). Another license management system has been proposed in which if there is not a license that can be issued upon a license request from a client, another license is initialized to obtain a deliverable license (see for example Japanese Patent Laid-Open No. 2004-126996).
In these floating license management methods, a license is granted when the application is executed and the application can be installed without the license. Therefore, a license is dynamically granted by a server to a user who executes the application and license management can be automated.
However, in the floating license management, an application to be licensed remains installed on an apparatus (for example a computer) of interest while there is the possibility that the application will be licensed to the apparatus. Accordingly, the floating license management is not suitable for peripheral devices such as image forming apparatuses which have limited resources. Therefore, it is desirable that an application for adding a function to an image forming apparatus be installed each time an additive function is used and be uninstalled after the function is used, as described in Japanese Patent Laid-Open No. 2005-208935.
However, such an application management method (hereinafter referred to as an individual license management method) has the following problems.
(1) The user is unable to know of the presence of an application that has not been installed. In the floating license management method, an application that is not licensed is also installed on an apparatus, and therefore the user can know of the presence of the application (that is, the presence of an additive function) via the apparatus, although the user is not allowed to execute the application. In contrast, in the individual license management method, the apparatus does not allow the user to know of the presence of an application that has not been installed.
(2) License management by an administrator is troublesome. The number of applications that can be installed on an image forming apparatus is limited by resources. Accordingly, the administrator needs to install applications that are in high demand by users or to change a combination of installed applications upon request from a user. Furthermore, the administrator needs to optimize an application to be installed on an image forming apparatus when users are transferred or the office is relocated, for example. This is because an image forming apparatus is typically located at a place nearest the user who uses the image forming apparatus.
(3) Continuity of work using an additive function is lost. In the individual license management method, continuity of work can be lost due to uninstallation of an application because context (state, namely settings and data of the application) is lost. For example, in the case of the function of transmitting e-mail, when an address list is uninstalled along with the application, addresses on the list need to be re-input the next time the e-mail transmission function is used.
(4) The application management method described in Japanese Patent Laid-Open No. 2005-208935 is based on the premise that the apparatus has at least the resources required for initially installing and running the application. The method does not consider cases where resources are insufficient when installing an application and the application cannot be installed if resources are insufficient.